This invention relates, in general, to processing read and write requests within a computing environment, and in particular, to enhancing the performance of those requests.
Enhancing the performance of read and write requests is an important goal of many computing systems, including distributed file systems, such as Distributed File Services (DFS) systems. When writing or reading files, especially large files, the time it takes for the request and data to be transmitted across the network often adversely dominates the response time of the-request. Thus, efforts have been made to reduce the network time and hence, the response time.
These efforts include locally caching data to avoid communications across the network and processing requests in parallel to improve response time. However, even with these efforts, systems still encounter considerable delays in data transmission, which negatively affects response time.
In addition to the above, response time is also negatively impacted by extra data movements within a computing system. For example, in systems, such as Distributed File Services (DFS) systems, data is moved from one set of buffers within the server to another set of buffers within the server. This data movement results in extra processing time at the server, which negatively impacts response time.
Based on the foregoing, a need still exists for a capability that enhances the performance of read and write requests. A further need exists for a capability that improves data transmission. A yet further need exists for a capability that eliminates extra data movements in an effort to enhance response time.
The shortcomings of the prior art are overcome and additional advantages are provided through the provision of a method of managing a flow of data between receivers and senders of a computing environment. In one embodiment, the method includes receiving, by a receiver of the computing environment, a portion of a packet sent by a sender of the computing environment; and forwarding from the receiver to the sender a reply indicating receipt of the packet. The forwarding is performed prior to fully receiving the packet.
In a further example, the forwarding is performed prior to calling a file system usable in writing data of the packet to one or more storage media.
In yet a further embodiment, the receiving includes receiving a plurality of packets from the sender, wherein the plurality of packets represent a plurality of requests. The method further includes providing at least two requests of the plurality of requests to a file system of the computing environment in the order of receipt of the at least two requests.
In a further aspect of the present invention, a method of managing the flow of data between receivers and senders of a computing environment is provided. The method includes, for instance, receiving, by a receiver of the computing environment, a portion of a write request sent by a sender of the computing environment; and replying to the write request prior to fully receiving the write request.
In yet a further aspect of the present invention, a method of managing a flow of data between receivers and senders of a computing environment is provided. The method includes, for instance, receiving, by a receiver of the computing environment, a request sent by a sender of the computing environment, wherein the request is to be processed by a file system associated with the receiver, the file system usable in writing data of the request to one or more storage media; and forwarding from the receiver to the sender a reply to the request, the forwarding being performed prior to providing the request to the file system.
In yet another aspect of the present invention, a method of receiving data within a computing environment is provided. The method includes, for example, receiving, by a receiver of the computing environment, a portion of a packet sent by a sender of the computing environment; disabling communications between the receiver and the sender subsequent to receiving at least a part of the portion of the packet; and enabling communications to receive more of the packet, when it is determined that more of the packet is to be received by the receiver.
Systems and computer program products corresponding to the above-summarized methods are also described and claimed herein.
Additional features and advantages are realized through the techniques of the present invention. Other embodiments and aspects of the invention are described in detail herein and are considered a part of the claimed invention.